package com.linxuan.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.linxuan.reggie.dto.DishDto;
import com.linxuan.reggie.entity.Dish;
import org.apache.logging.log4j.message.LoggerNameAwareMessage;

import java.util.List;

public interface DishService extends IService<Dish> {

    /**
     * 新增操作
     * @param dishDto DishDto
     */
    void saveWithFlavor(DishDto dishDto);

    /**
     * 这是修改的一部分，修改第一步需要查询出来信息，然后回显
     * 根据ID查询dish以及dish_flavor表信息
     * @param id ID
     * @return DishDto
     */
    DishDto getByIdWithFlavor(Long id);

    /**
     * 修改dish表和dish_flavor表操作
     * @param dishDto DishDto
     */
    void updateWithFlavor(DishDto dishDto);

    /**
     * 根据ID数组删除菜品表以及口味表以及图片
     * @param ids
     */
    void deleteWithFlavorAndImg(String[] ids);

    /**
     * 根据菜品分类ID查询出来菜品详细数据，组装为DishDto类型
     * @param categoryId 菜品分类ID
     * @return 查询的菜品详细数据列表
     */
    List<DishDto> getDishDtoListByCategoryId(Long categoryId);
}
